package com.ruoyi.system.pay.domain.po;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付流水实体类
 * 记录 支付流水，每次支付都会记录一条流水数据。
 * 可用于 对账，检查支付接口是否出现异常。
 * 状态：
 * INIT：初始化
 * SUCCESS：支付成功
 * FAILED：支付失败
 * REFUNDED：已退款
 */
@Data
public class PayTransaction {

    /**
     * 流水 ID（主键，自增）
     */
    private Long id;

    /**
     * 关联订单 ID
     */
    private Long orderId;

    /**
     * 支付交易号（支付宝、微信等支付平台返回的交易号）
     */
    private String transactionId;

    /**
     * 交易金额
     */
    private BigDecimal amount;

    /**
     * 支付方式（ALIPAY, WECHAT, BANK等）
     */
    private String payMethod;

    /**
     * 交易状态（INIT, SUCCESS, FAILED, REFUNDED）
     */
    private String status;

    /**
     * 交易时间
     */
    private Date transactionTime;

    /**
     * 记录创建时间
     */
    private Date createdAt;
}
